package java19_3_22_reflect.tawtype;

import java.lang.reflect.Field;

/**
 * @author 是阿秋啊
 * @date 2022/04/18 16:21
 **/
public class Message<T extends Number> {
    private T msg;

    public T getMsg() {
        return msg;
    }

    public void setMsg(T msg) {
        this.msg = msg;
    }

    public static void main(String[] args) throws Exception {
        Message<Integer> msg1 = new Message<>();
        Message<Double> msg2 = new Message<>();
        Field field1 = msg1.getClass().getDeclaredField("msg");
        Field field2 = msg2.getClass().getDeclaredField("msg");
        System.out.println(field1.getType());
        System.out.println(field2.getType());
    }

//    public static void fun(Message<? super String> msg) {
//        // 此时能否调用msg.set方法？
//        msg.setMsg("hehe");
//        System.out.println(msg.getMsg());
//    }
}

